﻿using System;
using System.ComponentModel;
using Vroom.Common.Enums;

namespace Vroom.Common.Config
{
    public interface IConfigItem
    {
        string  DestinationConnectionAlias  { get; set; }
        string  DestinationConnectionString { get; set; }
        string  Destination                 { get; set; }
        string  Source                      { get; set; }
        string  SourceShortName             { get; set; }
        string  MappingsOverrides           { get; set; }
        int?    SourceHeaderRowCount        { get; set; }
        string  ExplicitNullColumns         { get; set; }
        int     IsEnabled                   { get; set; }
        bool    IsDirty                     { get; set; }

        SourceSystem        SourceSystem        { get; set; }
        SourceType          SourceType          { get; set; }
        DestinationType     DestinationType     { get; set; }
        ColumnMappingType   ColumnMappingType   { get; set; }

        void SetMappings();
    }
}
